COpenGLView Class Reference
[Version 4.1]

a subview which uses OpenGL for drawing More...

Inheritance diagram for COpenGLView:
Inheritance graph
[legend]
Collaboration diagram for COpenGLView:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 COpenGLView (const CRect &size)
 ~COpenGLView ()
virtual void drawOpenGL (const CRect &updateRect)=0
 will be called when the view was marked invalid or the view was resized
virtual void setViewSize (const CRect &rect, bool invalid=true)
 set views size
virtual void parentSizeChanged ()
 notification that one of the views parent has changed its size
virtual bool removed (CView *parent)
virtual bool attached (CView *parent)
virtual void invalidRect (const CRect &rect)
 mark rect as invalid
virtual void setVisible (bool state)
 set visibility state
CMessageResult notify (CBaseObject *sender, IdStringPtr message)
Mouse Methods



virtual CMouseEventResult onMouseDown (CPoint &where, const CButtonState &buttons)
 called when a mouse down event occurs
virtual CMouseEventResult onMouseUp (CPoint &where, const CButtonState &buttons)
 called when a mouse up event occurs
virtual CMouseEventResult onMouseMoved (CPoint &where, const CButtonState &buttons)
 called when a mouse move event occurs
virtual CMouseEventResult onMouseCancel ()
 called when mouse tracking should be canceled
virtual CMouseEventResult onMouseEntered (CPoint &where, const CButtonState &buttons)
 called when the mouse enters this view
virtual CMouseEventResult onMouseExited (CPoint &where, const CButtonState &buttons)
 called when the mouse leaves this view
void setHitTestPath (CGraphicsPath *path)
virtual bool hitTest (const CPoint &where, const CButtonState &buttons=-1)
 check if where hits this view
virtual bool onWheel (const CPoint &where, const float &distance, const CButtonState &buttons)
 called if a mouse wheel event is happening over this view
virtual bool onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons)
 called if a mouse wheel event is happening over this view
virtual void setMouseEnabled (bool bEnable=true)
 turn on/off mouse usage for this view
virtual bool getMouseEnabled () const
 get the state of wheather this view uses the mouse or not
virtual void setMouseableArea (const CRect &rect)
 set the area in which the view reacts to the mouse
virtual CRectgetMouseableArea (CRect &rect) const
 get the area in which the view reacts to the mouse
virtual const CRectgetMouseableArea () const
 read only access to the mouseable area
Touch Event Handling Methods



virtual void onTouchEvent (ITouchEvent &event)
virtual bool wantsMultiTouchEvents () const
Keyboard Methods



virtual int32_t onKeyDown (VstKeyCode &keyCode)
 called if a key down event occurs and this view has focus
virtual int32_t onKeyUp (VstKeyCode &keyCode)
 called if a key up event occurs and this view has focus
View Size Methods



CCoord getHeight () const
 get the height of the view
CCoord getWidth () const
 get the width of the view
CRectgetViewSize (CRect &rect) const
 returns the current view size
const CRectgetViewSize () const
 read only access to view size
virtual CRect getVisibleViewSize () const
 returns the visible size of the view
virtual CPointframeToLocal (CPoint &point) const
 conversion from frame coordinates to local view coordinates
virtual CPointlocalToFrame (CPoint &point) const
 conversion from local view coordinates to frame coordinates
virtual void setAutosizeFlags (int32_t flags)
 set autosize flags
virtual int32_t getAutosizeFlags () const
 get autosize flags
virtual bool sizeToFit ()
 resize view to optimal size
Focus Methods



virtual void looseFocus ()
 called if view should loose focus
virtual void takeFocus ()
 called if view should take focus
virtual bool wantsFocus () const
 check if view supports focus
virtual void setWantsFocus (bool state)
 set focus support on/off
Attribute Methods



bool getAttributeSize (const CViewAttributeID id, int32_t &outSize) const
 get the size of an attribute
bool getAttribute (const CViewAttributeID id, const int32_t inSize, void *outData, int32_t &outSize) const
 get an attribute
bool setAttribute (const CViewAttributeID id, const int32_t inSize, const void *inData)
 set an attribute
bool removeAttribute (const CViewAttributeID id)
 remove an attribute
Background Methods



virtual void setBackground (CBitmap *background)
 set the background image of this view
CBitmapgetBackground () const
 get the background image of this view
virtual void setDisabledBackground (CBitmap *background)
 set background image used when the mouse is not enabled
CBitmapgetDisabledBackground () const
 get background image used when the mouse is not enabled
CBitmapgetDrawBackground () const
Transparency Methods



virtual void setTransparency (bool val)
 set views transparent state
virtual bool getTransparency () const
 get views transparent state
virtual void setAlphaValue (float alpha)
 set alpha value which will be applied when drawing this view
float getAlphaValue () const
 get alpha value
Attaching Methods



virtual bool removed (CView *parent)
 view is removed from parent view
virtual bool attached (CView *parent)
 view is attached to a parent view
bool isAttached () const
 is view attached to a parentView
Parent Methods



CViewgetParentView () const
 get parent view
CFramegetFrame () const
 get frame
virtual VSTGUIEditorInterfacegetEditor () const
 get editor
Animation Methods



void addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject=0)
void removeAnimation (IdStringPtr name)
void removeAllAnimations ()
Message Methods



virtual CMessageResult notify (CBaseObject *sender, IdStringPtr message)
Reference Counting Methods



virtual void forget ()
 decrease refcount and delete object if refcount == 0
virtual void remember ()
 increase refcount
virtual int32_t getNbReference () const
 get refcount

Protected Types

enum  {
  kMouseEnabled = 1 << 0, kTransparencyEnabled = 1 << 1, kWantsFocus = 1 << 2, kIsAttached = 1 << 3,
  kVisible = 1 << 4, kDirty = 1 << 5, kWantsIdle = 1 << 6, kLastCViewFlag = 6
}

Protected Member Functions

CGraphicsPathgetHitTestPath () const
COpenGLView Methods



virtual void platformOpenGLViewCreated ()
 will be called after the platform opengl view was created
virtual void platformOpenGLViewWillDestroy ()
 will be called before the platform opengl view will be destroyed
virtual void platformOpenGLViewSizeChanged ()
 will be called whenever the platform opengl view size has changed
virtual PixelFormat * getPixelFormat ()
 subclasses should return a pixelformat here if they don't want to use the default one
IPlatformOpenGLView * getPlatformOpenGLView () const

Protected Attributes

CRect size
CRect mouseableArea
CFramepParentFrame
CViewpParentView
int32_t viewFlags
int32_t autosizeFlags
float alphaValue

Draw and Update Methods



virtual void draw (CDrawContext *pContext)
 called if the view should draw itself
virtual void drawRect (CDrawContext *pContext, const CRect &updateRect)
 called if the view should draw itself
virtual bool checkUpdate (const CRect &updateRect) const
virtual bool isDirty () const
 check if view is dirty
virtual void setDirty (bool val=true)
 set the view to dirty so that it is redrawn in the next idle. Thread Safe !
virtual void invalid ()
 mark whole view as invalid
bool isVisible () const
 get visibility state
static bool kDirtyCallAlwaysOnMainThread = false
 if this is true, setting a view dirty will call invalid() instead of checking it in idle. Default value is false.

Drag & Drop Methods



virtual DragResult doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=0)
 start a drag operation. See CDropSource to create the source data package
virtual bool onDrop (IDataPackage *drag, const CPoint &where)
 called if a drag is dropped onto this view
virtual void onDragEnter (IDataPackage *drag, const CPoint &where)
 called if a drag is entering this view
virtual void onDragLeave (IDataPackage *drag, const CPoint &where)
 called if a drag is leaving this view
virtual void onDragMove (IDataPackage *drag, const CPoint &where)
 called if a drag is moved inside this view
enum  DragResult { kDragRefused = 0, kDragMoved, kDragCopied, kDragError = -1 }

Idle Methods

Should be used when a view needs to do a task periodically. The onIdle() method will be called only if the view is attached.



virtual void onIdle ()
 called on idle when view wants idle
void setWantsIdle (bool state)
 enable/disable onIdle() callback
bool wantsIdle () const
 returns if the view wants idle callback or not
static int32_t idleRate
 global idle rate in Hz, defaults to 30 Hz

Detailed Description

a subview which uses OpenGL for drawing


Member Enumeration Documentation

anonymous enum [protected, inherited]
Enumerator:
kMouseEnabled 
kTransparencyEnabled 
kWantsFocus 
kIsAttached 
kVisible 
kDirty 
kWantsIdle 
kLastCViewFlag 
enum DragResult [inherited]
Enumerator:
kDragRefused 
kDragMoved 
kDragCopied 
kDragError 

Constructor & Destructor Documentation

COpenGLView ( const CRect size  ) 
~COpenGLView (  ) 

Member Function Documentation

void addAnimation ( IdStringPtr  name,
Animation::IAnimationTarget target,
Animation::ITimingFunction timingFunction,
CBaseObject notificationObject = 0 
) [inherited]
bool attached ( CView parent  )  [virtual, inherited]

view is attached to a parent view

Parameters:
parent parent view
Returns:
true if view successfully attached to parent
bool attached ( CView parent  )  [virtual]
virtual bool checkUpdate ( const CRect updateRect  )  const [inline, virtual, inherited]
CView::DragResult doDrag ( IDataPackage source,
const CPoint offset = CPoint (0, 0),
CBitmap dragBitmap = 0 
) [virtual, inherited]

start a drag operation. See CDropSource to create the source data package

a drag can only be started from within onMouseDown

Parameters:
source source drop
offset bitmap offset
dragBitmap bitmap to drag
Returns:
0 on failure, negative if source was moved and positive if source was copied

Reimplemented in CFrame.

void draw ( CDrawContext pContext  )  [virtual, inherited]
virtual void drawOpenGL ( const CRect updateRect  )  [pure virtual]

will be called when the view was marked invalid or the view was resized

virtual void drawRect ( CDrawContext pContext,
const CRect updateRect 
) [inline, virtual, inherited]

called if the view should draw itself

Reimplemented in CFrame, CLayeredViewContainer, CShadowViewContainer, and CViewContainer.

virtual void forget (  )  [inline, virtual, inherited]

decrease refcount and delete object if refcount == 0

CPoint & frameToLocal ( CPoint point  )  const [virtual, inherited]

conversion from frame coordinates to local view coordinates

Parameters:
point location
Returns:
converted point

Reimplemented in CViewContainer.

float getAlphaValue (  )  const [inline, inherited]

get alpha value

bool getAttribute ( const CViewAttributeID  aId,
const int32_t  inSize,
void *  outData,
int32_t &  outSize 
) const [inherited]

get an attribute

Parameters:
aId the ID of the Attribute
inSize the size of the outData pointer
outData a pointer where to copy the attribute data
outSize the size in bytes which was copied into outData
Returns:
true if attribute exists and outData was big enough. outSize and outData is valid then.
bool getAttributeSize ( const CViewAttributeID  aId,
int32_t &  outSize 
) const [inherited]

get the size of an attribute

Parameters:
aId the ID of the Attribute
outSize on return the size of the attribute
Returns:
true if attribute exists. outSize is valid then.
virtual int32_t getAutosizeFlags (  )  const [inline, virtual, inherited]

get autosize flags

CBitmap* getBackground (  )  const [inline, inherited]

get the background image of this view

CBitmap* getDisabledBackground (  )  const [inline, inherited]

get background image used when the mouse is not enabled

CBitmap* getDrawBackground (  )  const [inline, inherited]
VSTGUIEditorInterface * getEditor (  )  const [virtual, inherited]

get editor

Reimplemented in CFrame.

CFrame* getFrame (  )  const [inline, inherited]

get frame

CCoord getHeight (  )  const [inline, inherited]

get the height of the view

CGraphicsPath* getHitTestPath (  )  const [inline, protected, inherited]
virtual const CRect& getMouseableArea (  )  const [inline, virtual, inherited]

read only access to the mouseable area

virtual CRect& getMouseableArea ( CRect rect  )  const [inline, virtual, inherited]

get the area in which the view reacts to the mouse

virtual bool getMouseEnabled (  )  const [inline, virtual, inherited]

get the state of wheather this view uses the mouse or not

virtual int32_t getNbReference (  )  const [inline, virtual, inherited]

get refcount

CView* getParentView (  )  const [inline, inherited]

get parent view

virtual PixelFormat* getPixelFormat (  )  [inline, protected, virtual]

subclasses should return a pixelformat here if they don't want to use the default one

IPlatformOpenGLView* getPlatformOpenGLView (  )  const [inline, protected]
virtual bool getTransparency (  )  const [inline, virtual, inherited]

get views transparent state

const CRect& getViewSize (  )  const [inline, inherited]

read only access to view size

CRect& getViewSize ( CRect rect  )  const [inline, inherited]

returns the current view size

CRect getVisibleViewSize (  )  const [virtual, inherited]

returns the visible size of the view

Returns:
visible size of view
CCoord getWidth (  )  const [inline, inherited]

get the width of the view

bool hitTest ( const CPoint where,
const CButtonState buttons = -1 
) [virtual, inherited]

check if where hits this view

Parameters:
where location
buttons button and modifier state
Returns:
true if point hits this view

Reimplemented in CSplashScreen, and CViewContainer.

virtual void invalid (  )  [inline, virtual, inherited]

mark whole view as invalid

Reimplemented in CFrame, and CViewContainer.

void invalidRect ( const CRect rect  )  [virtual]

mark rect as invalid

Parameters:
rect rect to invalidate

Reimplemented from CView.

bool isAttached (  )  const [inline, inherited]

is view attached to a parentView

virtual bool isDirty (  )  const [inline, virtual, inherited]

check if view is dirty

Reimplemented in CControl, and CViewContainer.

bool isVisible (  )  const [inline, inherited]

get visibility state

CPoint & localToFrame ( CPoint point  )  const [virtual, inherited]

conversion from local view coordinates to frame coordinates

Parameters:
point location
Returns:
converted point

Reimplemented in CViewContainer.

void looseFocus (  )  [virtual, inherited]

called if view should loose focus

Reimplemented in COptionMenu, CTextEdit, and CViewContainer.

virtual CMessageResult notify ( CBaseObject sender,
IdStringPtr  message 
) [inline, virtual, inherited]
CMessageResult notify ( CBaseObject sender,
IdStringPtr  message 
) [inherited]
Parameters:
sender message sender
message message text
Returns:
message handled or not. See CMessageResult

Reimplemented in CDataBrowser, CAnimationSplashScreen, CRockerSwitch, CRowColumnView, CScrollView, CScrollbar, CShadowViewContainer, and CViewContainer.

virtual void onDragEnter ( IDataPackage drag,
const CPoint where 
) [inline, virtual, inherited]

called if a drag is entering this view

Reimplemented in CViewContainer.

virtual void onDragLeave ( IDataPackage drag,
const CPoint where 
) [inline, virtual, inherited]

called if a drag is leaving this view

Reimplemented in CViewContainer.

virtual void onDragMove ( IDataPackage drag,
const CPoint where 
) [inline, virtual, inherited]

called if a drag is moved inside this view

Reimplemented in CViewContainer.

virtual bool onDrop ( IDataPackage drag,
const CPoint where 
) [inline, virtual, inherited]

called if a drag is dropped onto this view

Reimplemented in CViewContainer.

virtual void onIdle (  )  [inline, virtual, inherited]

called on idle when view wants idle

Reimplemented in CVuMeter.

int32_t onKeyDown ( VstKeyCode keyCode  )  [virtual, inherited]

called if a key down event occurs and this view has focus

Parameters:
keyCode key code of pressed key
Returns:
-1 if not handled and 1 if handled

Reimplemented in CDataBrowser, CFrame, COnOffButton, CCheckBox, CKickButton, CTextButton, CFontChooser, CKnob, CMovieButton, COptionMenu, CSlider, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, and CTextEdit.

int32_t onKeyUp ( VstKeyCode keyCode  )  [virtual, inherited]

called if a key up event occurs and this view has focus

Parameters:
keyCode key code of pressed key
Returns:
-1 if not handled and 1 if handled

Reimplemented in CFrame, CKickButton, CTextButton, and CRockerSwitch.

CMouseEventResult onMouseCancel (  )  [virtual, inherited]

called when mouse tracking should be canceled

Reimplemented in COnOffButton, CCheckBox, CKickButton, CTextButton, CSlider, and CViewContainer.

CMouseEventResult onMouseDown ( CPoint where,
const CButtonState buttons 
) [virtual, inherited]

called when a mouse down event occurs

Parameters:
where mouse location of mouse down
buttons button and modifier state
Returns:
event result. see CMouseEventResult

Reimplemented in CDataBrowser, CFrame, CAutoAnimation, COnOffButton, CCheckBox, CKickButton, CTextButton, CKnob, CMovieButton, COptionMenu, CSlider, CSplashScreen, CAnimationSplashScreen, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CTextEdit, CXYPad, CScrollbar, and CViewContainer.

virtual CMouseEventResult onMouseEntered ( CPoint where,
const CButtonState buttons 
) [inline, virtual, inherited]

called when the mouse enters this view

Reimplemented in CScrollbar.

virtual CMouseEventResult onMouseExited ( CPoint where,
const CButtonState buttons 
) [inline, virtual, inherited]

called when the mouse leaves this view

Reimplemented in CFrame, and CScrollbar.

CMouseEventResult onMouseMoved ( CPoint where,
const CButtonState buttons 
) [virtual, inherited]

called when a mouse move event occurs

Parameters:
where mouse location of mouse move
buttons button and modifier state
Returns:
event result. see CMouseEventResult

Reimplemented in CFrame, COnOffButton, CCheckBox, CKickButton, CTextButton, CKnob, CMovieButton, CSlider, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CXYPad, CScrollbar, and CViewContainer.

CMouseEventResult onMouseUp ( CPoint where,
const CButtonState buttons 
) [virtual, inherited]

called when a mouse up event occurs

Parameters:
where mouse location of mouse up
buttons button and modifier state
Returns:
event result. see CMouseEventResult

Reimplemented in CFrame, COnOffButton, CCheckBox, CKickButton, CTextButton, CKnob, CMovieButton, CSlider, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CXYPad, CScrollbar, and CViewContainer.

virtual void onTouchEvent ( ITouchEvent event  )  [inline, virtual, inherited]

Reimplemented in CViewContainer.

bool onWheel ( const CPoint where,
const CMouseWheelAxis axis,
const float &  distance,
const CButtonState buttons 
) [virtual, inherited]

called if a mouse wheel event is happening over this view

Parameters:
where location
axis mouse wheel axis
distance wheel distance
buttons button and modifier state
Returns:
true if handled

Reimplemented in CFrame, CTextLabel, CScrollView, CScrollbar, and CViewContainer.

bool onWheel ( const CPoint where,
const float &  distance,
const CButtonState buttons 
) [virtual, inherited]

called if a mouse wheel event is happening over this view

Parameters:
where location
distance wheel distance
buttons button and modifier state
Returns:
true if handled

Reimplemented in CFrame, CKnob, CSlider, CRockerSwitch, CTextLabel, and CViewContainer.

void parentSizeChanged (  )  [virtual]

notification that one of the views parent has changed its size

Reimplemented from CView.

virtual void platformOpenGLViewCreated (  )  [inline, protected, virtual]

will be called after the platform opengl view was created

virtual void platformOpenGLViewSizeChanged (  )  [inline, protected, virtual]

will be called whenever the platform opengl view size has changed

virtual void platformOpenGLViewWillDestroy (  )  [inline, protected, virtual]

will be called before the platform opengl view will be destroyed

virtual void remember (  )  [inline, virtual, inherited]

increase refcount

void removeAllAnimations (  )  [inherited]
void removeAnimation ( IdStringPtr  name  )  [inherited]
bool removeAttribute ( const CViewAttributeID  id  )  [inherited]

remove an attribute

bool removed ( CView parent  )  [virtual, inherited]

view is removed from parent view

Parameters:
parent parent view
Returns:
true if view successfully removed from parent
bool removed ( CView parent  )  [virtual]
void setAlphaValue ( float  alpha  )  [virtual, inherited]

set alpha value which will be applied when drawing this view

bool setAttribute ( const CViewAttributeID  aId,
const int32_t  inSize,
const void *  inData 
) [inherited]

set an attribute

copies data into the attribute. If it does not exist, creates a new attribute.

Parameters:
aId the ID of the Attribute
inSize the size of the outData pointer
inData a pointer to the data
Returns:
true if attribute was set
virtual void setAutosizeFlags ( int32_t  flags  )  [inline, virtual, inherited]

set autosize flags

Reimplemented in CScrollView, and CTabView.

void setBackground ( CBitmap background  )  [virtual, inherited]

set the background image of this view

Parameters:
background new background bitmap

Reimplemented in CCheckBox, and CAnimKnob.

void setDirty ( bool  val = true  )  [virtual, inherited]

set the view to dirty so that it is redrawn in the next idle. Thread Safe !

Reimplemented in CControl, and CVuMeter.

void setDisabledBackground ( CBitmap background  )  [virtual, inherited]

set background image used when the mouse is not enabled

Parameters:
background new disabled background bitmap
void setHitTestPath ( CGraphicsPath path  )  [inherited]
Parameters:
path the path to use for hit testing. The path will be translated by this views origin, so that the path must not be set again, if the view is moved. Otherwise when the size of the view changes, the path must also be set again.
virtual void setMouseableArea ( const CRect rect  )  [inline, virtual, inherited]

set the area in which the view reacts to the mouse

void setMouseEnabled ( bool  bEnable = true  )  [virtual, inherited]

turn on/off mouse usage for this view

void setTransparency ( bool  val  )  [virtual, inherited]

set views transparent state

Reimplemented in CScrollView.

void setViewSize ( const CRect newSize,
bool  invalid = true 
) [virtual]

set views size

Parameters:
newSize rect of new size of view
invalid if true set view dirty

Reimplemented from CView.

void setVisible ( bool  state  )  [virtual]

set visibility state

Reimplemented from CView.

void setWantsFocus ( bool  state  )  [virtual, inherited]

set focus support on/off

Reimplemented in CDataBrowser.

void setWantsIdle ( bool  state  )  [inherited]

enable/disable onIdle() callback

virtual bool sizeToFit (  )  [inline, virtual, inherited]
void takeFocus (  )  [virtual, inherited]

called if view should take focus

Reimplemented in COptionMenu, CTextEdit, and CViewContainer.

virtual bool wantsFocus (  )  const [inline, virtual, inherited]

check if view supports focus

bool wantsIdle (  )  const [inline, inherited]

returns if the view wants idle callback or not

virtual bool wantsMultiTouchEvents (  )  const [inline, virtual, inherited]

Reimplemented in CViewContainer.


Member Data Documentation

float alphaValue [protected, inherited]
int32_t autosizeFlags [protected, inherited]
int32_t idleRate [static, inherited]

global idle rate in Hz, defaults to 30 Hz

bool kDirtyCallAlwaysOnMainThread = false [static, inherited]

if this is true, setting a view dirty will call invalid() instead of checking it in idle. Default value is false.

CRect mouseableArea [protected, inherited]
CFrame* pParentFrame [protected, inherited]
CView* pParentView [protected, inherited]
CRect size [protected, inherited]
int32_t viewFlags [protected, inherited]

The documentation for this class was generated from the following files:

Generated on Fri Nov 22 11:09:53 2013 for VSTGUI by  doxygen 1.6.1